#pragma once
#include"RedBlackTree.h"

template<class k>
class set
{
	class setKeyOfT
	{
	public:
		const k& operator()(const k& value)
		{
			return value;
		}
	};
public:
	typedef typename RedBlackTree<k, k, setKeyOfT>::iterator iterator;


	bool insert(const k& key)
	{
		return _tree.insert(key);
	}

	const iterator find(const k& key) 
	{
		return _tree.find(key);
	}

	const iterator begin() 
	{
		return _tree.begin();
	}

	const iterator end() 
	{
		return _tree.end();
	}

private:
	RedBlackTree<k, k,setKeyOfT> _tree;
};




